Change overflow-strategy onOverflow handling #203
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changing the signature of the
onOverflow
function parameter given toDropNewAndSignal
,DropOldAndSignal
andClearBufferAndSignal
.We have had a signature like this:
The
onOverflow
is a function that receives the number of elements that were dropped while the consumer gets busy. So the consumer can then be notified that it had dropped events and behave accordingly. However this isn't always helpful. There are cases where we don't want to send any such message to the consumer, but we just want to log this information somewhere. We can do this currently, but it is way too hard and wasteful (e.g. boxing stuff inEither
and filtering), so we are changing that signature to this:Thus, you can return
Some(a)
in case you want to inform the downstream subscribers of the overflow, or you can return aNone
, in which case no message gets sent. So you can just returnNone
and log stuff.